/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.seguradora.service;

import br.com.seguradora.model.repository.impl.RepositoryFactoryImpl;
import br.com.seguradora.model.repository.RepositoryFactory;
import br.com.seguradora.exception.PersistenciaException;
import br.com.seguradora.model.Veiculo;
import br.com.seguradora.model.repository.TodosVeiculos;
import br.com.seguradora.view.DisplayFilter;
import java.util.List;

/**
 *
 * @author Diego
 */
public class VeiculoService {

    private TodosVeiculos todosVeiculos;

    public VeiculoService() {
        RepositoryFactory repositoryFactory = new RepositoryFactoryImpl();
        todosVeiculos = repositoryFactory.createVeiculoRepository();
    }

    public boolean inserir(Veiculo veiculo) throws PersistenciaException {
        return todosVeiculos.inserir(veiculo);
    }

    public boolean atualizar(Veiculo veiculo) throws PersistenciaException {
        return todosVeiculos.atualizar(veiculo);
    }

    public boolean excluir(Veiculo veiculo) throws PersistenciaException {
        return todosVeiculos.excluir(veiculo);
    }

    public List<Veiculo> listarTodos(int... limits) throws PersistenciaException {
        return todosVeiculos.listarTodos(limits);
    }

    public List<Veiculo> listarPeloRenavam(String renavam, DisplayFilter displayFilter) throws PersistenciaException {
        return todosVeiculos.listarPeloRenavam(renavam, displayFilter);
    }

    public List<Veiculo> listarPeloAssociado(String associado, DisplayFilter displayFilter) throws PersistenciaException {
        return todosVeiculos.listarPeloAssociado(associado, displayFilter);
    }

    public List<Veiculo> listarPelaPlaca(String placa, DisplayFilter displayFilter) throws PersistenciaException {
        return todosVeiculos.listarPelaPlaca(placa, displayFilter);
    }
}
